#include "EquippableItem.h"
#include "Util.h"

EquippableItem::EquippableItem(GenericType type) : Item(type) {
	m_equippableIdentified = false;
}

EquippableItem::EquippableItem(GenericType type, std::ifstream& file) : Item(type, file) {
	int* tokens = Util::intSplit(file);
	m_equippableIdentified = tokens[0] == 1;
	delete[] tokens;
}

EquippableItem::~EquippableItem() {
}

void EquippableItem::save(std::ofstream& file) const {
	Item::save(file);
	file << (m_equippableIdentified ? 1 : 0) << "\n";
}

void EquippableItem::identify() {
	Item::identify();
	m_equippableIdentified = true;
}

std::string EquippableItem::getColoredItemName(int mod) const {
	std::string color = Util::intToString(m_status);
	if(!m_statusIdentified) {
		if(m_equippableIdentified)
			color = Util::intToString(UNCURSED);
		else if(isEnchanted())
			color = Util::intToString(6);
		else
			color = Util::intToString(3);
	}
	return "\r" + color + getName() + "\r" + color;
}
